home *** CD-ROM | disk | FTP | other *** search
/ Aminet 19 / Aminet 19 (1997)(GTI - Schatztruhe)[!][Jun 1997].iso / Aminet / comm / cnet / gu40pack.lha / gu40pack / GetUserSearch < prev    next >
Text File  |  1997-03-21  |  6KB  |  95 lines

  1. /**************************************************************************\
  2.           $VER: GetUser Search, v2.0 (19-Mar-97) by Dotoran!
  3. \**************************************************************************/
  4. options results;signal on SYNTAX;signal on ERROR;signal on IOERR
  5. a=sourceline(2);parse var a . ", "ver" ("vdate")" .;a=random(,,time("s"))
  6. tr=transmit;se=sendstring;gc=getchar;gu=getuser;gs=getscratch;mg=maygetchar
  7. a="rexxsupport.library";if ~show("l",a) then if ~addlib(a,0,-30) then exit
  8. parse source . . fp .;df=left(fp,max(lastpos('/',fp),lastpos(':',fp)))
  9.  
  10. changewhere "GetUserSearcher" ; oldwh=result
  11.  
  12. if ~exists(df"GU40_Longs") then do
  13.   se "n1c6   I could not locate the cb`caGU40_Longscb' c6file. It "
  14.   se "needs to be in the cfSAME c6path as this file, which is cb`ca"
  15.   tr df"cb'c6..." ; signal BYE ; end
  16.  
  17. gu 1302307 ; z1=result ; gu 1302368 ; z2=upper(result)
  18. gu 1302429 ; z3=upper(result) ; gu 1302490 ; z4=upper(result)
  19.  
  20. if z1="?" | z1="/" | upper(z1)="H" then signal HELP
  21.  
  22. START:
  23.   tr "f1cbGetUser cdSearchc6, cf"ver" c6last updated: ca"vdate"n1"
  24.  
  25.   if z1="" then do
  26.     se "c6   Enter your Search Stringc9: casi0 50}" ; gu 70 ; txt=result
  27.     if txt="" then do ; tr "uc9Abort" ; signal BYE ; end
  28.     call CHECK ; tr "ucf[ce"txt"cf]" ; end ; else txt=z1
  29.  
  30.   if z2="" | index("YN",z2)=0 then do
  31.     se "c6   List Line Numbers? c7[caYesc7]c9: " ; gc ; lln=result
  32.     if lln="N" then do ; tr "c9Noc6." ; lln=" NONUM" ; end
  33.       else do ; tr "caYesc6!" ; lln="" ; end ; end
  34.   else do ; if z2="N" then lln=" NONUM" ; else lln="" ; end
  35.  
  36.   if z3="" | index("YN",upper(z3))=0 then do
  37.     se "c6  Use compact output?  c7[c9Noc7]c9: " ; gc ; qck=result
  38.     if qck="Y" then do ; tr "caYesc6!" ; qck=" QUICK" ; end
  39.       else do ; tr "c9Noc6." ; qck="" ; end ; end
  40.   else do ; if z3="Y" then qck=" QUICK" ; else qck="" ; end
  41.  
  42.   if z4="" | index("YN",upper(z4))=0 then do
  43.     se "c6Use Pattern Matching?  c7[c9Noc7]c9: " ; gc ; pat=result
  44.     if pat="Y" then do ; tr "caYesc6!" ; pat=" PATTERN" ; end
  45.       else do ; tr "c9Noc6." ; pat="" ; end ; end
  46.   else do ; if z4="Y" then pat=" PATTERN" ; else pat="" ; end
  47.  
  48.   tr "n1c6Press cdCTRL-C c6to c9cancel cbsearchingc6...cf"
  49.  
  50.   if lln="" then tr "n1Line #    v3.05c     Description of this GetUser location.         v4.26+n1==============================================================================="
  51.     else tr "n1   v3.05c     Description of this GetUser location.         v4.26+n1========================================================================"
  52.  
  53.   call CHECK ; tr '#4search "'df'GU40_Longs" "'txt'"'lln||qck||pat'}'
  54.  
  55.   se "cbSearch cdGetUser c6list again? c7[caYesc7]c9: " ; gc ; a=result
  56.   if a="N" then do ; tr "c9Noc6." ; signal BYE ; end
  57.     else do ; tr "caYesc6!" ; z1="" ; signal START ; end
  58.  
  59. BYE: ; changewhere oldwh ; exit
  60.  
  61. HELP: ; tr "f1cbGetUser cdSearchc6, cf"ver" c6(cf"vdate"c6) by cdDotoran c6of cdFrontiersc6!n1"
  62.   tr "c6GUS c7<casearch textc7> <cbline numbersc7> <cdcompact outputc7> <cesearch patternc7>n2c6wherec9:n1"
  63.   se "    c7<casearch textc7> c6- :2cawhat you wish to find. Enclose in double quotes "
  64.   tr "if search text contains spaces.:0n1"
  65.   se "   c7<cbline numbersc7> c6- :2cbeither c9Y cbor c9N cbas to if you wish to see the line "
  66.   tr "numbers within the `GU40_Longs' file that each match is found on.:0n1"
  67.   se " c7<cdcompact outputc7> c6- :2cdeither c9Y cdor c9N cdas to if you wish to use the quick "
  68.   tr "output. (Linefeeds and indents will be suppressed):0n1"
  69.   se " c7<cesearch patternc7> c6- :2ceeither c9Y ceor c9N ceas to if your c7<casearch textc7> cecontains "
  70.   tr "wildcard characters to be interpreted.:0n1"
  71.   tr "sc6Press any key to view examples...g1uExamplesc9:n1"
  72.   tr "  c6GUS                     c9- c6You'll be ASKED for all needed info!n1"
  73.   se "  c6GUS caproto               c9- :2c6Search for cb`caprotocb'c6, but be asked about "
  74.   tr "the other information.:0n1"
  75.   se "  c6GUS caproto cby cdn cen         c9- :2c6Search for cb`caprotocb'c6, with line numbers OFF, "
  76.   tr "using standard format without wildcards.:0n1"
  77.   se '  c6GUS ca"total calls" cbn cdn cen c9- :2c6Search for cb"catotal callscb" c6without line '
  78.   tr "numbers in a standard format without any wildcard characters.:0n1"
  79.   se "  c6GUS ca0=#?1=#? cby cdn cey      c9- :2c6Displaying line numbers in a standard "
  80.   tr "format, search for any line containing cb`ca0=cb' c6and cb`ca1=cb' c6anywhere on the line.:0n1"
  81.   se '  c6GUS ca" logo#?" cbn cdy cey     c9- :2c6Using a compact display format, without '
  82.   tr "line numbers, search for any line containing cb`calogoncb' c6or cb`calogoffcb'c6.:0"
  83.  
  84. exit
  85. CHECK:;if ARG() & ARG(1)~="###PANIC" then return ARG(1)
  86.   getcarrier;if result="TRUE" then if ARG() then return ARG(1);else return
  87.   logentry "Lost Carrier!!";bufferflush;signal BYE
  88. SYNTAX:;ERROR:;IOERR:;e1="n1 Error: "rc" ("errortext(rc)")"
  89.   e2="  Line: "left(sigl,4)"File:";c="`"fp", "ver"'";e2=e2" "c;tr e1;tr e2
  90.   logentry e1;logentry e2;e=strip(translate(sourceline(sigl),"\{",""))
  91.   do while e~="";e3="Source: "left(e,37);tr e3;logentry e3;e=substr(e,38);end
  92.   bufferflush;signal BYE
  93. /**************************************************************************\
  94. \****************************************** Frontiers BBS (716)/823-9892 **/
  95.